import { BaseEntity } from '@/api/base';

export interface ShopInfoVO {
  /**
   * 店铺ID
   */
  shopId: string | number;

  /**
   * 店铺编码
   */
  shopCode: string;

  /**
   * 店铺名称
   */
  shopName: string;

  /**
   * 店铺手机号
   */
  shopPhone: string;

  /**
   * 店铺状态
   */
  status: number;

  /**
   * 过期时间
   */
  expirationTime: string;

  /**
   * 创建时间
   */
  createTime: string;

  /**
   * 创建人
   */
  createBy: string;

  /**
   * 更新人
   */
  updateBy: string;

  /**
   * 备注
   */
  remark: string;

  /**
   * 子对象
   */
  children: ShopInfoVO[];
}

export interface ShopInfoForm extends BaseEntity {
  /**
   * 店铺ID
   */
  shopId?: string | number;

  /**
   * open-api的appid
   */
  appId?: string | number;

  /**
   * 店铺类型
   */
  shopType?: string;

  /**
   * 店铺编码
   */
  shopCode?: string;

  /**
   * 店铺名称
   */
  shopName?: string;

  /**
   * 店铺logo
   */
  shopLogo?: string;

  /**
   * 店铺简介
   */
  shopBrief?: string;

  /**
   * 省份
   */
  shopProvince?: string;

  /**
   * 店铺城市
   */
  shopCity?: string;

  /**
   * 店铺地址区（县）
   */
  shopArea?: string;

  /**
   * 店铺地址
   */
  shopAddress?: string;

  /**
   * 店铺手机号
   */
  shopPhone?: string;

  /**
   * 店铺维度
   */
  shopLatitude?: string;

  /**
   * 经度
   */
  shopLongitude?: string;

  /**
   * 店铺状态
   */
  status?: number;

  /**
   * 下级门店上限
   */
  storeUpperLimit?: number;

  /**
   * 商品数量上限
   */
  goodsUpperLimit?: number;

  /**
   * 分销海报数量上限
   */
  posterUpperLimit?: number;

  /**
   * 会员等级数量上限
   */
  memberLevelUpperLimit?: number;

  /**
   * 过期时间
   */
  expirationTime?: string;

  /**
   * 自动升级为会员
   */
  isDefaultMember?: number;

  /**
   * 需要会员才可操作
   */
  isMemberOper?: number;

  /**
   * 需要关注公众号才可操作
   */
  isSubscribe?: number;

  /**
   * 备注
   */
  remark?: string;
}

export interface ShopInfoQuery {
  /**
   * 店铺ID
   */
  shopId?: string | number;

  /**
   * 店铺编码
   */
  shopCode?: string;

  /**
   * 店铺名称
   */
  shopName?: string;

  /**
   * 店铺手机号
   */
  shopPhone?: string;

  /**
   * 店铺状态
   */
  status?: number;

  /**
   * 过期时间
   */
  expirationTime?: string;

  /**
   * 创建人
   */
  createBy?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}
